package com.nengchuan.eic.nceconomy.dao;

import com.nengchuan.eic.nceconomy.entity.po.IndexDict;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 指标字典表 Mapper 接口
 * </p>
 *
 * @author luoping
 * @since 2020-04-23
 */
@Repository
public interface IndexDictMapper extends BaseMapper<IndexDict> {

    List<IndexDict> findByNames(@Param("names") List<String> names);

    List<IndexDict> findByNamesAndProjectIndexSettleRow(@Param("names") List<String> names,@Param("projectIndex")String projectIndex);

    List<IndexDict> findByNamesAndProjectIndexRow(@Param("names") List<String> names,@Param("projectIndex")String projectIndex);

    String getByName(@Param("name")String name);

    /**
     * 根据type查询dict
     * @param type
     * @return
     */
    List<IndexDict> findByType(@Param("type") String type);
    /**
     * 根据type查询dict
     * @param type
     * @return
     */
    List<IndexDict> findByTypeSettle(@Param("type") String type);

    /**
     * 根据类型及名称查询（结算）
     * @param indexName
     * @param line
     * @return
     */
    List<IndexDict> findByTypeAndNameSettle(@Param("name") String indexName, @Param("type")String type);
    /**
     * 根据类型及名称查询
     * @param indexName
     * @param line
     * @return
     */
    List<IndexDict> findByTypeAndName(@Param("name")String indexName, @Param("type")String type);

    /**
     * 根据模板sheet名及指标code模糊查询
     * @param sheetName
     * @param code
     * @return
     */
    IndexDict findIndexByCodeAndTemplateSheetName(@Param("sheetName") String sheetName, @Param("code") String code);
    /**
     * 根据模板sheet名及指标code模糊查询(结算）
     * @param sheetName
     * @param code
     * @return
     */
    IndexDict findIndexByCodeAndTemplateSheetNameSettle(@Param("sheetName") String sheetName, @Param("code") String code);

    /**
     * 根据code查询指标
     * @param collect
     * @param projectIndex
     * @return
     */
    List<IndexDict> findByCodes(@Param("collect") List<String> collect,@Param("projectIndex") String projectIndex);


    /**
     * 根据code查询指标(结算）
     * @param collect
     * @return
     */
    List<IndexDict> findByCodesSettle(@Param("collect") List<String> collect);
}
